﻿using MediatR;
using Reporting.API.DTOs.TicketmanagementDTO;
using Reporting.API.Utils;
using Reporting.Domain;
using Reporting.Errorcode;

namespace Reporting.API.Application.Commands.Ticketmanagements
{
    /// <summary>
    /// 添加 - 到票管理
    /// </summary>
    public class AddTicketmanagementCommand : IRequest<ApiResult>
    {
        /// <summary>
        /// 到票单号
        /// </summary>
        public string Arrivalticketnumber { get; set; }

        /// <summary>
        /// 到票主题
        /// </summary>
        public string Tickettheme { get; set; }

        /// <summary>
        /// 发票类型
        /// 外健
        /// </summary>
        public int InvoicetypeId { get; set; }

        /// <summary>
        /// 到票日期
        /// </summary>
        public DateTime Ticketarrivaldate { get; set; }

        /// <summary>
        /// 开款方
        /// </summary>
        public int PayeeId { get; set; }

        /// <summary>
        /// 到票金额
        /// </summary>
        public decimal Ticketamountreceived { get; set; }

        /// <summary>
        /// 发票号
        /// </summary>
        public string Invoicenumber { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string Ticketmanagementnotes { get; set; }
    }



    /// <summary>
    /// 显示 分页 到票
    /// </summary>
    public class GetTicketmanagementCommand : IRequest<ApiResult<PagingResult<IList<GetpageTicketmanagementResponse>>>>
    {

        /// <summary>
        /// 当前页
        /// </summary>
        public int PageIndex { get; set; }

        /// <summary>
        /// 页容量
        /// </summary>
        public int PageSize { get; set; }
    }


    /// <summary>
    /// ID  查询到票
    /// </summary>
    public class GetIDTicketmanagementCommand : IRequest<ApiResult<Ticketmanagement>>
    {

        /// <summary>
        /// 到票管理ID
        /// </summary>
        public int Ticketmanagementid { get; set; }
    }

    

    /// <summary>
    /// 修改 分页 到票
    /// </summary>
    public class UpdateTicketmanagementCommand : IRequest<ApiResult>
    {
        /// <summary>
        /// 到票管理ID
        /// </summary>
        public int Ticketmanagementid { get; set; }

        /// <summary>
        /// 到票单号
        /// </summary>
        public string Arrivalticketnumber { get; set; }

        /// <summary>
        /// 到票主题
        /// </summary>
        public string Tickettheme { get; set; }

        /// <summary>
        /// 发票类型
        /// 外健
        /// </summary>
        public int InvoicetypeId { get; set; }

        /// <summary>
        /// 到票日期
        /// </summary>
        public DateTime Ticketarrivaldate { get; set; }

        /// <summary>
        /// 开款方
        /// </summary>
        public int PayeeId { get; set; }

        /// <summary>
        /// 到票金额
        /// </summary>
        public decimal Ticketamountreceived { get; set; }

        /// <summary>
        /// 发票号
        /// </summary>
        public string Invoicenumber { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string Ticketmanagementnotes { get; set; }
    }



    /// <summary>
    /// 删除 分页 到票
    /// </summary>
    public class DeleteTicketmanagementCommand : IRequest<ApiResult>
    {
        /// <summary>
        /// 到票管理ID
        /// </summary>
        public int Ticketmanagementid { get; set; }
    }
}
